
//----------------day_01---------------
//T1
//#include <iostream>
//using namespace std;
//
//int Get2Count(int n)
//{
//    int count = 0;
//    while (n)
//    {
//        if (n % 10 == 2)
//            count++;
//        n = n / 10;
//    }
//    return count;
//}
//
//int main() {
//    int a, b;
//    int count = 0;
//    cin >> a >> b;
//    for (int i = a; i <= b; i++)
//    {
//        count += Get2Count(i);
//    }
//    cout << count;
//}



//T2
//vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
//    // write code here
//    vector<int> res;
//    sort(nums1.begin(), nums1.end());
//    sort(nums2.begin(), nums2.end());
//
//    auto v1 = nums1.begin();
//    auto v2 = nums2.begin();
//    int tmp = 0;
//    while (v1 != nums1.end() && v2 != nums2.end()) {
//        if (*v1 > *v2) {
//            v2++;
//        }
//        else if (*v1 < *v2) {
//            v1++;
//        }
//        else {
//            tmp = *v1;
//            res.push_back(tmp);
//            while (v1 != nums1.end()) {
//                if (*v1 == tmp)
//                    v1++;
//                else
//                    break;
//            }
//            while (v2 != nums2.end()) {
//                if (*v2 == tmp)
//                    v2++;
//                else
//                    break;
//            }
//        }
//    }
//    return res;
//}


//T3
//#include <iostream>
//#include <string>
//#include <cstring>
//using namespace std;
//#define NUM 300001
//
//string::iterator  delStr(string& bf, const string::iterator& start) {
//    auto left = start;
//    auto right = start + 1;
//    bool flags = false;
//    while (*left == *right) {
//        if (left != bf.begin())
//            left--;
//        else
//        {
//            flags = true;
//        }
//        if ((right+1) != bf.end())
//            right++;
//        else
//        {
//            right++;
//            break;
//        }
//        if (flags)
//            break;
//    }
//    if (flags)
//    {
//        return bf.erase(left, right);
//    }
//    bf.erase(left + 1, right);
//    return left;
//}
//int main() {
//    char* buffer = new char[NUM];
//    memset(buffer, '\0', NUM);
//    cin >> buffer;
//    string bf(buffer);
//    if (bf.size() <= 1) {
//        cout << bf;
//        free(buffer);
//        return 0;
//    }
//    auto start = bf.begin();
//    while ((start + 1) != bf.end()) {
//        if (*(start) == *(start + 1)) {
//            start = delStr(bf, start);
//            if (bf.size() == 0)
//            {
//                cout << 0;
//                free(buffer);
//                return 0;
//            }
//        }
//        else
//            start += 1;
//    }
//    if ((start + 1) == bf.end()) {
//        cout << bf;
//        free(buffer);
//        return 0;
//    }
//    cout << bf;
//    free(buffer);
//    return 0;
//}


